<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../style.css" type="text/css" media="screen">
<link rel="stylesheet" href="../print.css" type="text/css" media="print">
<meta content="Controller,nimbus.Controller,asyncCommandsInProgress,combinableCommand,interactionBlockingRect,undoRedoHistory,maxUndos,processingMessage,redosAvailable,undosAvailable,applyInstantiation,combineCommand,commandComplete,deriveInteractionBlocking,deriveProcessingMessage,execCommand,redo,resetCombinable,undo" name="keywords">
<title>nimbus.Controller</title>
</head>
<body>
<script type="text/javascript" language="javascript" src="../asdoc.js"></script><script type="text/javascript" language="javascript" src="../cookies.js"></script><script type="text/javascript" language="javascript">
<!--
				asdocTitle = 'Controller - Nimbus';
				var baseRef = '../';
				window.onload = configPage;
			--></script>
<table style="display:none" id="titleTable" cellspacing="0" cellpadding="0" class="titleTable">
<tr>
<td align="left" class="titleTableTitle">Nimbus</td><td align="right" class="titleTableTopNav"><a onclick="loadClassListFrame('../all-classes.html')" href="../package-summary.html">All&nbsp;Packages</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../all-classes.html')" href="../class-summary.html">All&nbsp;Classes</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../index-list.html')" href="../all-index-A.html">Index</a>&nbsp;|&nbsp;<a href="../index.html?nimbus/Controller.html&amp;nimbus/class-list.html" id="framesLink1">Frames</a><a onclick="parent.location=document.location" href="" style="display:none" id="noFramesLink1">No&nbsp;Frames</a></td><td rowspan="3" align="right" class="titleTableLogo"><img alt="Adobe Logo" title="Adobe Logo" class="logoImage" src="../images/logo.jpg"></td>
</tr>
<tr class="titleTableRow2">
<td align="left" id="subTitle" class="titleTableSubTitle">Class&nbsp;Controller</td><td align="right" id="subNav" class="titleTableSubNav"><a href="#propertySummary">Properties</a>&nbsp;| <a href="#methodSummary">Methods</a>&nbsp;| <a href="#eventSummary">Events</a></td>
</tr>
<tr class="titleTableRow3">
<td colspan="2">&nbsp;</td>
</tr>
</table>
<script type="text/javascript" language="javascript">
<!--
if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("Class Controller"); titleBar_setSubNav(false,true,false,false,true,false,true,false,false,false,false,false,false,false);}
--></script>
<div class="MainContent">
<table cellspacing="0" cellpadding="0" class="classHeaderTable">
<tr>
<td class="classHeaderTableLabel">Package</td><td><a onclick="javascript:loadClassListFrame('class-list.html')" href="package-detail.html">nimbus</a></td>
</tr>
<tr>
<td class="classHeaderTableLabel">Class</td><td class="classSignature">public class Controller</td>
</tr>
<tr>
<td class="classHeaderTableLabel">Inheritance</td><td class="inheritanceList">Controller <img class="inheritArrow" alt="Inheritance" title="Inheritance" src="../images/inherit-arrow.gif"> flash.events.EventDispatcher</td>
</tr>
</table>
<p></p>
<p></p>
<br>
<hr>
</div>
<a name="propertySummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Properties</div>
<table id="summaryTableProperty" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Property</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#maxUndos">maxUndos</a> : uint<div class="summaryTableDescription">
   The maximum number of commands that are held for undo.</div>
</td><td class="summaryTableOwnerCol">Controller</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#redosAvailable">redosAvailable</a> : uint<div class="summaryTableDescription">[read-only]
   The number of commands that are currently available for redo.</div>
</td><td class="summaryTableOwnerCol">Controller</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#undosAvailable">undosAvailable</a> : uint<div class="summaryTableDescription">[read-only]
   The number of commands that are currently available for undo.</div>
</td><td class="summaryTableOwnerCol">Controller</td>
</tr>
</table>
</div>
<a name="protectedPropertySummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Protected Properties</div>
<table id="summaryTableProtectedProperty" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Property</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#asyncCommandsInProgress">asyncCommandsInProgress</a> : ArrayCollection<div class="summaryTableDescription">
   A holding ArrayCollection for any asyncronous commands currently being executed.</div>
</td><td class="summaryTableOwnerCol">Controller</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#combinableCommand">combinableCommand</a> : <a href="commands/base/ICombinableCommand.html">ICombinableCommand</a>
<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">Controller</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#interactionBlockingRect">interactionBlockingRect</a> : Sprite<div class="summaryTableDescription">
   Simple sprite used to cover up the application's stage when an asynchronous command's
   blockUserInteraction is set to true and the command is executing.</div>
</td><td class="summaryTableOwnerCol">Controller</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#processingMessage">processingMessage</a> : String<div class="summaryTableDescription">
   The processing message associated with the command currently being executed.</div>
</td><td class="summaryTableOwnerCol">Controller</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#undoRedoHistory">undoRedoHistory</a> : <a href="nimbus/UndoRedoHistory.html">UndoRedoHistory</a>
<div class="summaryTableDescription">
   Manages the state of undo/redo functionality.</div>
</td><td class="summaryTableOwnerCol">Controller</td>
</tr>
</table>
</div>
<a name="methodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Methods</div>
<table id="summaryTableMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#Controller()">Controller</a>()</div>
<div class="summaryTableDescription">
   Constructor.</div>
</td><td class="summaryTableOwnerCol">Controller</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#applyInstantiation()">applyInstantiation</a>(classObject:Class, params:Array):<a href="commands/base/ICommand.html">ICommand</a>
</div>
<div class="summaryTableDescription">
   Creates an instance of a class and passes parameters into the constructor.</div>
</td><td class="summaryTableOwnerCol">Controller</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#redo()">redo</a>():<a href="commands/base/IUndoableCommand.html">IUndoableCommand</a>
</div>
<div class="summaryTableDescription">
   Calls the redo function of the most recent undone command.</div>
</td><td class="summaryTableOwnerCol">Controller</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#resetCombinable()">resetCombinable</a>():void</div>
<div class="summaryTableDescription">
   Resets the reference to the last combinable command stored, allowing the next series of
   calls to the same combinable command to be added to the undo/redo history.</div>
</td><td class="summaryTableOwnerCol">Controller</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#undo()">undo</a>():<a href="commands/base/IUndoableCommand.html">IUndoableCommand</a>
</div>
<div class="summaryTableDescription">
   Calls the undo function of the most recently executed undoable command.</div>
</td><td class="summaryTableOwnerCol">Controller</td>
</tr>
</table>
</div>
<a name="protectedMethodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Protected Methods</div>
<table id="summaryTableProtectedMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#combineCommand()">combineCommand</a>(command:<a href="commands/base/ICommand.html">ICommand</a>):Boolean</div>
<div class="summaryTableDescription">
   Combine the command if it is a combinable command and the last combinable command
   executed is of the same class.</div>
</td><td class="summaryTableOwnerCol">Controller</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#commandComplete()">commandComplete</a>(executionEventOrSyncCommand:Object):void</div>
<div class="summaryTableDescription">
   Handles command completion.</div>
</td><td class="summaryTableOwnerCol">Controller</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#deriveInteractionBlocking()">deriveInteractionBlocking</a>(event:Event):void</div>
<div class="summaryTableDescription">
   Analyzes currently executing commands to determine whether any indicate that user
   interaction should be blocked.</div>
</td><td class="summaryTableOwnerCol">Controller</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#deriveProcessingMessage()">deriveProcessingMessage</a>(event:Event):void</div>
<div class="summaryTableDescription">
   Analyzes currently executing commands to determine which processing message should
   be used to provide feedback to the user.</div>
</td><td class="summaryTableOwnerCol">Controller</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#execCommand()">execCommand</a>(type:String, commandClass:Class, arguments:Array = null):<a href="commands/base/ICommand.html">ICommand</a>
</div>
<div class="summaryTableDescription">
   Executes a command.</div>
</td><td class="summaryTableOwnerCol">Controller</td>
</tr>
</table>
</div>
<a name="eventSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Events</div>
<table id="summaryTableEvent" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Event</th><th>Summary</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#event:historyChanged">historyChanged</a>
</div>
</td><td class="summaryTableDescription summaryTableCol">
  Dispatched whenever the undo/redo history has changed.</td><td class="summaryTableOwnerCol">Controller</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#event:processingMessageChanged">processingMessageChanged</a>
</div>
</td><td class="summaryTableDescription summaryTableCol">
  Dispatched each time the current processing message has changed due to the start of a command
  execution, a command completion, or both.</td><td class="summaryTableOwnerCol">Controller</td>
</tr>
</table>
</div>
<script type="text/javascript" language="javascript">
<!--
showHideInherited();
--></script>
<div class="MainContent">
<a name="propertyDetail"></a>
<div class="detailSectionHeader">Property detail</div>
<a name="asyncCommandsInProgress"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">asyncCommandsInProgress</td><td class="detailHeaderType">property</td>
</tr>
</table>
<div class="detailBody">
<code>protected var asyncCommandsInProgress:ArrayCollection</code><p>
   A holding ArrayCollection for any asyncronous commands currently being executed.
   </p></div>
<a name="combinableCommand"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">combinableCommand</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected var combinableCommand:<a href="commands/base/ICombinableCommand.html">ICombinableCommand</a></code>
</div>
<a name="interactionBlockingRect"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">interactionBlockingRect</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected var interactionBlockingRect:Sprite</code><p>
   Simple sprite used to cover up the application's stage when an asynchronous command's
   blockUserInteraction is set to true and the command is executing.
   </p></div>
<a name="maxUndos"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">maxUndos</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>maxUndos:uint</code>&nbsp;&nbsp;[read-write]<p>
   The maximum number of commands that are held for undo.  For example, if 
   10 commands are already avaiable for undo and another undoable command is then executed, 
   the oldest command is purged from the history and the new command is added.
   
   </p><p>This property can be used as the source for data binding.</p>
<span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function get maxUndos():uint</code>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function set maxUndos(value:uint):void</code>
<br>
<p>
<span class="label">See also</span>
</p>
<div class="seeAlso">
<a href="nimbus/UndoRedoHistory.html#maxUndos" target="">nimbus.UndoRedoHistory.maxUndos</a>
</div>
</div>
<a name="processingMessage"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">processingMessage</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>processingMessage:String</code>&nbsp;&nbsp;[read-write]<p>
   The processing message associated with the command currently being executed.  To detect
   when the processing message changes, listen for
   ProcessingMessageEvent.PROCESSING_MESSAGE_CHANGED events.
   
   </p><span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;protected function get processingMessage():String</code>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;protected function set processingMessage(value:String):void</code>
<br>
<p>
<span class="label">See also</span>
</p>
<div class="seeAlso">
<a href="events/ProcessingMessageEvent.html" target="">nimbus.events.ProcessingMessageEvent</a>
<br>
<a href="commands/AsyncCommand.html#processingMessage" target="">nimbus.commands.AsyncCommand.processingMessage</a>
</div>
</div>
<a name="redosAvailable"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">redosAvailable</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>redosAvailable:uint</code>&nbsp;&nbsp;[read-only]<p>
   The number of commands that are currently available for redo.
   
   </p><p>This property can be used as the source for data binding.</p>
<span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function get redosAvailable():uint</code>
<br>
<p>
<span class="label">See also</span>
</p>
<div class="seeAlso">
<a href="nimbus/UndoRedoHistory.html#redosAvailable" target="">nimbus.UndoRedoHistory.redosAvailable</a>
</div>
</div>
<a name="undoRedoHistory"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">undoRedoHistory</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected var undoRedoHistory:<a href="nimbus/UndoRedoHistory.html">UndoRedoHistory</a></code><p>
   Manages the state of undo/redo functionality.
   </p></div>
<a name="undosAvailable"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">undosAvailable</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>undosAvailable:uint</code>&nbsp;&nbsp;[read-only]<p>
   The number of commands that are currently available for undo.
   
   </p><p>This property can be used as the source for data binding.</p>
<span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function get undosAvailable():uint</code>
<br>
<p>
<span class="label">See also</span>
</p>
<div class="seeAlso">
<a href="nimbus/UndoRedoHistory.html#undosAvailable" target="">nimbus.UndoRedoHistory.undosAvailable</a>
</div>
</div>
<a name="constructorDetail"></a>
<div class="detailSectionHeader">Constructor detail</div>
<a name="Controller()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">Controller</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">constructor</td>
</tr>
</table>
<div class="detailBody">
<code>public function Controller()</code><p>
   Constructor.
   </p></div>
<a name="methodDetail"></a>
<div class="detailSectionHeader">Method detail</div>
<a name="applyInstantiation()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">applyInstantiation</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td>
</tr>
</table>
<div class="detailBody">
<code>public function applyInstantiation(classObject:Class, params:Array):<a href="commands/base/ICommand.html">ICommand</a></code><p>
   Creates an instance of a class and passes parameters into the constructor.
   This is currently somewhat of a hack because AS doesn't allow for dynamically applying
   an array of parameters to a constructor.  If it were a normal function, we could have
   used Function.apply().
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">classObject</span>:Class</code> &mdash; The class that should be instantiated.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">params</span>:Array</code> &mdash; An array of variables that should be passed as parameters into the
   constructor of the instantiated class.
   
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="commands/base/ICommand.html">ICommand</a></code> &mdash; 
                        An instantiated ICommand object.
   
                        
                     </td>
</tr>
</table>
</div>
<a name="combineCommand()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">combineCommand</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function combineCommand(command:<a href="commands/base/ICommand.html">ICommand</a>):Boolean</code><p>
   Combine the command if it is a combinable command and the last combinable command
   executed is of the same class.  If the last combinable command executed was not
   of the same class, store the new command to be combined with future combinable
   commands of the same class.
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">command</span>:<a href="commands/base/ICommand.html">ICommand</a></code></td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code>Boolean</code></td>
</tr>
</table>
</div>
<a name="commandComplete()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">commandComplete</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function commandComplete(executionEventOrSyncCommand:Object):void</code><p>
   Handles command completion.  Dispatches an ExecutionEvent with the command's type as
   the event type.
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">executionEventOrSyncCommand</span>:Object</code> &mdash; An ExecutionEvent if the command was asynchronous
   or the actual command object if the command was synchronous.
   </td>
</tr>
</table>
</div>
<a name="deriveInteractionBlocking()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">deriveInteractionBlocking</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function deriveInteractionBlocking(event:Event):void</code><p>
   Analyzes currently executing commands to determine whether any indicate that user
   interaction should be blocked.  If any executing command is found with 
   blockUserInteraction set to true, a transparent, empty sprite is placed over the
   entire application to prevent the user from interacting with the user interface.
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">event</span>:Event</code></td>
</tr>
</table>
</div>
<a name="deriveProcessingMessage()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">deriveProcessingMessage</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function deriveProcessingMessage(event:Event):void</code><p>
   Analyzes currently executing commands to determine which processing message should
   be used to provide feedback to the user.  The first processing message found in the
   list of processing commands will be used.  To watch for processing message changes,
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">event</span>:Event</code></td>
</tr>
</table>
<p>
<span class="label">See also</span>
</p>
<div class="seeAlso">
<a href="nimbus/Controller.html#processingMessage" target="">processingMessage</a>
</div>
</div>
<a name="execCommand()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">execCommand</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function execCommand(type:String, commandClass:Class, arguments:Array = null):<a href="commands/base/ICommand.html">ICommand</a></code><p>
   Executes a command.
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">type</span>:String</code> &mdash; Once a command has been executed, an ExecutionEvent is dispatched with this
   string used as the event type.  By listening to events with the specified type,
   listeners can detect when the command has completed execution.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">commandClass</span>:Class</code> &mdash; The class of the command that should be executed.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">arguments</span>:Array</code> (default = <code>null</code>)<code></code> &mdash; An array of arguments that will be passed to the constructor of the 
   command.  Any application data that needs to be referenced inside the command should be
   passed through this parameter.
   
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="commands/base/ICommand.html">ICommand</a></code> &mdash; 
                        The ICommand instance of the command that was executed.
   
                        
                     </td>
</tr>
</table>
<p>
<span class="label">See also</span>
</p>
<div class="seeAlso">
<a href="commands/base/ICommand.html#execute()" target="">nimbus.commands.base.ICommand.execute()</a>
</div>
</div>
<a name="redo()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">redo</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function redo():<a href="commands/base/IUndoableCommand.html">IUndoableCommand</a></code><p>
   Calls the redo function of the most recent undone command. Unlike normal execution, when 
   an redo is called and the command is an AsynCommand, the Controller does not wait for the 
   command to dispatch an ExecutionEvent before it dispatches its own ExecutionEvent.
   The controller also does not incorporate certain features such as user interaction 
   blocking or processing message updating during an undo/redo.
   
   </p><p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="commands/base/IUndoableCommand.html">IUndoableCommand</a></code></td>
</tr>
</table>
<p>
<span class="label">See also</span>
</p>
<div class="seeAlso">
<a href="nimbus/UndoRedoHistory.html#redo()" target="">nimbus.UndoRedoHistory.redo()</a>
</div>
</div>
<a name="resetCombinable()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">resetCombinable</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function resetCombinable():void</code><p>
   Resets the reference to the last combinable command stored, allowing the next series of
   calls to the same combinable command to be added to the undo/redo history. 
   For example, if you wanted to have every 10 calls to a combinable command undoable,
   then you should call <code>resetCombinable()</code> after every 10 calls
   to the combinable command. 
   
   </p></div>
<a name="undo()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">undo</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function undo():<a href="commands/base/IUndoableCommand.html">IUndoableCommand</a></code><p>
   Calls the undo function of the most recently executed undoable command. Unlike normal 
   execution, when an redo is called and the command is an AsynCommand, the Controller does 
   not wait for the command to dispatch an ExecutionEvent before it dispatches its own 
   ExecutionEvent. The controller also does not incorporate certain features
    such as user interaction blocking or processing message updating during an undo/redo.
    
    </p><p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="commands/base/IUndoableCommand.html">IUndoableCommand</a></code></td>
</tr>
</table>
<p>
<span class="label">See also</span>
</p>
<div class="seeAlso">
<a href="nimbus/UndoRedoHistory.html#undo()" target="">nimbus.UndoRedoHistory.undo()</a>
</div>
</div>
<div class="detailSectionHeader">Event detail</div>
<a name="event:historyChanged"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">historyChanged</td><td class="detailHeaderType">event&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<span class="label">Event object type: </span><a href="events/UndoRedoEvent.html"><code>nimbus.events.UndoRedoEvent</code></a>
<br>
<p></p><p>
  Dispatched whenever the undo/redo history has changed.  This can refer to when an undo or
  redo is executed, the max limit of undos is changed, or a command is added to the undoable
  history.
  </p></div>
<a name="event:processingMessageChanged"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">processingMessageChanged</td><td class="detailHeaderType">event&nbsp;</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<span class="label">Event object type: </span><a href="events/ProcessingMessageEvent.html"><code>nimbus.events.ProcessingMessageEvent</code></a>
<br>
<p></p><p>
  Dispatched each time the current processing message has changed due to the start of a command
  execution, a command completion, or both.  Be listening to this event you can display
  feedback to users regarding the current progress of processing actions.  This only dispatches
  message information and leaves the display of the message up to each application's specific
  implementation.
  </p></div>
<br>
<br>
<hr>
<br>
<p></p>
<center class="copyright"> 
</center>
</div>
</body>
</html>
<!-- -->
